//
//  StatusViewModel.swift
//  WeiBo09
//
//  Created by 裘明 on 15/9/11.
//  Copyright © 2015年 qm. All rights reserved.
//

import UIKit

/// 原创微博的重用标识
let MQStatusNormalCellID = "MQStatusNormalCellID"
/// 转发微博的重用标识
let MQStatusForwordCellID = "MQStatusForwordCellID"

/// 微博的视图模型，供显示使用
class StatusViewModel: NSObject {
    
    /// 微博对象
    var status: Status
    /// 用户头像Url
    var userIconUrl: NSURL? {
        return NSURL(string: status.user?.profile_image_url ?? "")
    }
    /// 用户名
    var userName: String? {
        return status.user?.name ?? ""
    }
    /// 当前微博模型所对应的行高
    var rowHeight: CGFloat = 0
    
 /// 返回当前视图模型对应的可重用标识符
    var cellID: String {
        return status.retweeted_status != nil ? MQStatusForwordCellID : MQStatusNormalCellID
    }
    
    /// 转发微博的内容
    var forwardText: String? {
        let username = status.retweeted_status?.user?.name ?? ""
        let text = status.retweeted_status?.text ?? ""
        // TODO: - 有时间记得加照片
        
        return "@\(username):\n\n\(text)"
        
    }
    
    /// 认证类型 -1：没有认证，0，认证用户，2,3,5: 企业认证，220: 达人
    var userVipImage: UIImage? {
        switch (status.user?.verified ?? -1) {
        case 0: return UIImage(named: "avatar_vip")
        case 2, 3, 5: return UIImage(named: "avatar_enterprise_vip")
        case 220: return UIImage(named: "avatar_grassroot")
        default: return nil
        }
    }
    /// 会员等级 1-6
    var userMemberImage: UIImage? {
        if status.user?.mbrank > 0 && status.user?.mbrank < 7 {
            return UIImage(named: "common_icon_membership_level\(status.user!.mbrank)")
        }
        return nil
    }
    /// 如果是原创微博有图，在 pic_urls 数组中记录
    /// 如果是`转发微博`有图，在 retweeted_status.pic_urls 数组中记录
    /// 如果`转发微博`有图，pic_urls 数组中没有图
    /// 配图缩略图 URL 数组
    var thumbnailUrl: [NSURL]?
    
    
    
    
    // - MARK: - 构造函数
    init(status: Status) {
        self.status = status
        
        if let url = status.retweeted_status?.pic_urls ?? status.pic_urls {
            thumbnailUrl = [NSURL]()
            
            for dict in url {
                thumbnailUrl?.append(NSURL(string: dict["thumbnail_pic"]!)!)
            }
        }
        
        super.init()

    }
    
    override var description: String {
        return status.description + "配图缩略图\(thumbnailUrl)"
    }
}
